/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.edu.upc.dew.cobranzas.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import pe.edu.upc.dew.cobranzas.model.Empresa;

/**
 *
 * @author Ivan
 */
public class EmpresaDaoImpl implements EmpresaDao {

      private List<Empresa> empresas;

    public EmpresaDaoImpl() {
        this.empresas = new ArrayList<Empresa>();
        this.cargarEmpresas();
    }

    public void cargarEmpresas() {
        Connection connection = null;
        Empresa empresa = null;
        Statement st = null;
        ResultSet rs = null;
        try {
            connection = ConnectionUtils.getConnection();
            st = connection.createStatement();
            rs = st.executeQuery("select * from T_Empresa");
            rs.next();
            do {

                empresa = new Empresa();
                empresa.setRuc(rs.getString("ruc"));
                empresa.setRazonSocial(rs.getString("razonSocial"));
                empresa.setDireccion(rs.getString("direccion"));
                empresa.setTelefono(rs.getString("telefono"));

                this.empresas.add(empresa);

            } while (rs.next());
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            ConnectionUtils.closeResultSet(rs);
            ConnectionUtils.closeStatement(st);
            ConnectionUtils.closeConnection(connection);
        }
    }

    public List<Empresa> Listado() {
        return this.empresas;
    }

    public Empresa getEmpresaxRuc(String ruc) {
        Empresa empresa = new Empresa();
        for (int i = 1; i <= this.empresas.size(); i++) {
            if (this.empresas.get(i - 1).getRuc().equals(ruc)) {
                empresa = this.empresas.get(i - 1);
                break;
            }
        }

        return empresa;
    }

}
